package cn.iocoder.yudao.module.cms.feedback.vo;

import cn.iocoder.yudao.module.cms.feedback.dal.dataobject.FeedbackCategoryDO;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.TransPojo;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Tag(name = "意见反馈信息 Response VO")
@Data
@JsonIgnoreProperties(value = {"pkey", "transMap"}) // 由于 Easy-Trans 会添加 transMap 属性，避免 Jackson 在 Spring Cache 反序列化报错
public class FeedbackRespVO implements TransPojo {

    @Schema(description = "唯一编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4874")
    private Integer id;

    @Schema(description = "栏目编号", example = "1")
    @Trans(type = TransType.SIMPLE, target = FeedbackCategoryDO.class, fields = "name", ref = "categoryName")
    private Long categoryId;
    @Schema(description = "分类名称", example = "体验问题")
    private String categoryName;

    @Schema(description = "内容", requiredMode = Schema.RequiredMode.REQUIRED)
    private String content;

    @Schema(description = "回复")
    private String reply;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer status;

    @Schema(description = "图片地址列表")
    private List<String> picUrls;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

}
